/***********************************************************************************
 * 文件名： spwm_config.h
 * 版本�?1
 * 说明�?
 * 		一个软件模拟的8位PWM控制器�?
 *      在定时器中断中调�?SPwm_EvTimer ，PWM频率 = 中断频率/255。在程序启动时调�?SPwm_Init
 *  进行初始化。通过调用 SPwm_SetValue 设置PWM值（决定占空比），为0是始终输出OFF，为255时始
 *  终输出ON。ON �?OFF 具体代表什么在配置文件中设置。还提供了开始和停止运行的API，以及刹�?
 *  等API，具体见头文件�?
 * 修改记录�?
 * 	2021/04/21: 初版�?刘言�?
***********************************************************************************/
#ifndef _SPWM_CONFIG_H_
#define _SPWM_CONFIG_H_

// 仅包含需要的文件，polsys驱动和组件接口不需要再包含头文件�?
#include "bsp-hard_wire.h"

// 定义PWM满�?
// 100%输出时的值，不可以超�?55。建议取值：63�?27�?55.
#define _SPWM_FULL_VALUE 127

// 软件PWM的通道�?
#define SPWM_MAX_CH 4

// 各个通道的开关内容，并不是都需要设置，取决于通道�?

#define _SPwm_Ch0On() LED_R_ON
#define _SPwm_Ch0Off() LED_R_OFF

#define _SPwm_Ch1On() LED_G_ON
#define _SPwm_Ch1Off() LED_G_OFF

#define _SPwm_Ch2On() LED_B_ON
#define _SPwm_Ch2Off() LED_B_OFF

#define _SPwm_Ch3On() LED_S_ON
#define _SPwm_Ch3Off() LED_S_OFF

#define _SPwm_Ch4On()
#define _SPwm_Ch4Off()

#define _SPwm_Ch5On()
#define _SPwm_Ch5Off()

// 定时器初始化，在软PWM初始化时被调�?
#define _SPwm_TimInit() Tim2_Init()

// 使能匹配事件
// 当PWM计数变量�?_SPWM_MATCH_VALUE 相等时调�?_SPwm_Ev_Match
// #define _SPWM_USE_MATCH_EVENT // 当使用软件PWM控制输出时，要启用匹配事�?
// #define _SPWM_MATCH_VALUE 0
// #define _SPwm_Ev_Match()          \
//     {                             \
//         if (SPwm_GetValue(3) > 0) \
//             RHC_EvPWMOutON();     \
//     }

#endif
